1. Technical Field of the Invention
The invention relates generally to communication systems; and, more particularly, it relates to decoding of encoded signals within such communication systems.
2. Description of Related Art
Data communication systems have been under continual development for many years. One such type of communication system that has been of significant interest lately is a communication system that employs turbo codes. Another type of communication system that has also received interest is a communication system that employs Low Density Parity Check (LDPC) code. A primary directive in these areas of development has been to try continually to lower the error floor within a communication system. The ideal goal has been to try to reach Shannon's limit in a communication channel. Shannon's limit may be viewed as being the data rate to be used in a communication channel, having a particular Signal to Noise Ratio (SNR), that achieves error free transmission through the communication channel. In other words, the Shannon limit is the theoretical bound for channel capacity for a given modulation and code rate.
LDPC code has been shown to provide for excellent decoding performance that can approach the Shannon limit in some cases. For example, some LDPC decoders have been shown to come within 0.3 dB from the theoretical Shannon limit. While this example was achieved using an irregular LDPC code of a length of one million, it nevertheless demonstrates the very promising application of LDPC codes within communication systems.
In performing calculations when decoding a received signal, it is common for decoders to perform determination of a largest (using a max calculation or a max operation) and/or a smallest (using a min calculation or a min operation) to determine a largest or smallest value from among a number of values. This processing is oftentimes common in performing calculations of state metrics within soft-in soft-out functional block (SISO) decoders. For example, several state metrics are calculated, and the smallest and/or largest state metric is determined to be the proper state metric. Depending upon the decision criteria, the largest and/or smallest state metric may be determined to be the “proper” state metric.
In performing calculations when decoding a received signal, it is also common for decoders to operate in the natural log (ln) domain when performing various calculations. Many turbo code decoders fall into this category, and many LDPC decoders also fall in to this category as well. By operating within the natural log (ln) domain, this converts all multiplications to additions, divisions to subtractions, and eliminates exponentials entirely, without affecting Bit Error Rate (BER) performance. While this approach represents one such way in which some of the difficult processing steps required to decode signals received within such communication systems, they are focused on addressing just one aspect of the decoding difficulties.
Another processing challenge in the decoding of such signals received within communication systems is the management of the very data itself. The memory management required to perform proper decoding of such signals can also be very burdensome. Oftentimes, in prior art systems, it is the management of the data within the decoding of received data that presents one of the largest bottlenecks in the system.
FIG. 1 is a diagram illustrating one prior art approach to received block processing. Initially, forward metrics (alphas) are sequentially calculated for each symbol within the received block in one direction. Then, backward metrics (alphas) are sequentially calculated for each symbol within the received block in the opposite direction. After the alphas and betas have been determined for each symbol within the block, then extrinsic (ext) information may be calculated there from to proceed in the final decoding of the received symbols within the block. There are a number of apparent disadvantages to this prior art approach to received block processing. Some of the disadvantages include that it requires a lot of real estate to support the extensive memory that must be provisioned to enable such an approach. Within many communication systems, including those employing TCM, there are a number of intermediate calculations that must be performed (e.g., the alpha and beta calculations that precede the ext calculations) and these intermediate values must be stored for subsequent use in the prior art approach.
Another disadvantage, inherently coupled to the disadvantage of requiring a large amount of memory, is that there is a large amount of read/write (r/w) operations that must be performed to support this processing. The memory management performed herein is typically quite overburdened. In addition, the computation can be very slow, in that, a large number of intermediate calculations must be performed to support the decoding of data within this prior art approach. It is also noted that as the block size continues to increase, this prior art simply becomes more and more difficult to implement. It is clear that as the block size increases, the memory required, the r/with operations, and the memory required will be scaled accordingly.
There exists a need in the art to provide for a much more efficient approach to processing a received block of data that would address any of the deficiencies described above within the prior art approach of sequential processing to generate the necessary intermediate and final calculations required to decoded the received block. In addition, it would be desirable that such a design be scalable and able to accommodate larger and/or smaller blocks as implemented within various types of corn systems.